home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)t5.d64 / munchmath.c (.txt) < prev    next >
Commodore BASIC  |  2009-10-10  |  4KB  |  144 lines

  1. 10 GOSUB 2000
  2. 100 POKE56,48:CLR:PRINT"[147]":SM=1073:CM=55345:L=1:BC=3
  3. 110 FORI=0TO27:POKE54272+I,0:NEXT:POKE54296,15:POKE54277,18:POKE54278,165
  4. 120 S$="":SF=54272:WV=54276
  5. 130 J$="9999999999999999999999":P=3:GOTO900
  6. 140 :
  7. 150 FORT=1TO300:NEXT:RETURN
  8. 160 FORT=1TO40:NEXT:RETURN
  9. 170 FORT=1TO90:NEXT:RETURN
  10. 180 :
  11. 190 D=VAL(AN$):IFASC(AN$)=81ANDPR>1THEN800
  12. 200 IFINT(D)<>INT(C)THEN230
  13. 210 P=P+1:R=R+1:M=M+1:SC=SC+10:POKESF,223:POKESF+1,29:POKEWV,17
  14. 220 FORT=1TO5:NEXT:POKEWV,16:GOTO700
  15. 230 M=M+1:W=W+1:PRINTLEFT$(S$,10)SPC(20-LEN(C$))""C"     "
  16. 240 POKESF+1,8:POKESF,100:POKEWV,33:GOSUB150:POKEWV,32:GOTO720
  17. 250 :
  18. 260 POKESF+1,40:POKEWV,17
  19. 270 GOSUB160:POKEWV,16:GOSUB160:RETURN
  20. 280 :
  21. 290 PR=PR+1:A=INT(RND(1)*5*L)+1
  22. 300 B=INT(RND(1)*5*L)+1:IFB>ATHENA=A+B
  23. 310 E=INT(A*B):A$=STR$(A):B$=STR$(B)
  24. 320 IFQ=1THENC=A+B:X=43:GOTO360
  25. 330 IFQ=2THENC=A-B:X=45:GOTO360
  26. 340 IFQ=3THENC=A:GOTO410
  27. 350 C=E:X=88
  28. 360 C$=STR$(C):PRINTLEFT$(S$,7)SPC(20-LEN(A$))""A
  29. 370 PRINTLEFT$(S$,8)SPC(18-LEN(B$))" "CHR$(X)B"[146][157][157][157]999"
  30. 380 PRINTLEFT$(S$,10)SPC(19-LEN(C$)):GOSUB1230:IFAN$=""THEN380
  31. 390 D=VAL(AN$):GOTO190
  32. 400 :
  33. 410 PRINTLEFT$(S$,12)SPC(16)"         "
  34. 420 PRINTLEFT$(S$,10)SPC(18)"        "
  35. 430 PRINTLEFT$(S$,11)SPC(19)"7777":PRINTSPC(18)"8"
  36. 440 PRINTLEFT$(S$,12)SPC(18-LEN(B$))""B;E
  37. 450 PRINTLEFT$(S$,10)SPC(19-LEN(C$)):GOSUB1230:IFAN$=""THEN450
  38. 460 GOTO190
  39. 470 :
  40. 480 POKEWV,17:FORI=4TO33:POKESF+1,I:GOSUB160:NEXT:POKEWV,16
  41. 490 POKECM+P,2:GOSUB160:POKECM+P,5:GOSUB160
  42. 500 POKESF+1,14:POKEWV,33:POKESM+P,69:FORI=1TO230:NEXT
  43. 510 POKESM+P,64:FORI=1TO250:NEXT
  44. 520 POKESM+P,32:POKEWV,32:SC=SC-50:IFSC<0THENSC=0
  45. 530 L=L-1:IFL=0THENL=1
  46. 540 P=3:M=0:PRINT"[147]":GOTO1210
  47. 550 :
  48. 560 POKESM+M-1,32:FORI=1TO6:POKECM+M,3:POKESM+M,60:POKECM+P,5
  49. 570 POKESF+1,14:POKEWV,129
  50. 580 POKESM+P,62:GOSUB160:POKESM+P,58:POKECM+M,6:POKESM+M,61:GOSUB160
  51. 590 POKESM+M,32:POKESM+P,32:POKEWV,128:P=P-1:M=M-1:NEXT
  52. 600 FORI=12TO9STEP-1:POKECM+I,5:POKESM+I,62:POKECM+9,6:POKESM+9,60:GOSUB160
  53. 610 POKESF+1,14:POKEWV,129:POKECM+9,3:POKESM+I,58
  54. 620 GOSUB160:POKEWV,128:POKESM+I,32:NEXT
  55. 630 FORI=1TO5:PRINT""TAB(15)"** 100 **":POKESF+1,15:POKEWV,33
  56. 640 GOSUB150:POKEWV,32
  57. 650 PRINT""TAB(15)"         ":GOSUB150:NEXT:L=L+1
  58. 660 SC=SC+100:P=3:M=0:BC=BC+1:IFBC>31THENBC=7
  59. 670 REM SETUP
  60. 680 POKE53280,BC:POKE53281,1:PRINT"[147]":PRINTLEFT$(S$,3)SPC(9)J$
  61. 690 POKE53272,28:PRINT""SPC(13)"[156]??????????????[211]"
  62. 700 POKESM+P-1,32:POKECM+P,5:POKESM+P,59:GOSUB150:POKESM+P,58
  63. 710 IFSM+P=SM+18THEN560
  64. 720 POKESM+M-1,32:POKECM+M,2:POKESM+M,61:GOSUB150:POKECM+M,6:POKESM+M,60
  65. 730 IFPEEK(SM+M)=PEEK(SM+P)THEN480
  66. 740 PRINTLEFT$(S$,16)SPC(16)"[159]LEVEL:"L""
  67. 750 PRINTLEFT$(S$,17)SPC(9)J$
  68. 760 PRINTLEFT$(S$,19)""SPC(12)N$"'S SCORE:"SC
  69. 770 PRINTLEFT$(S$,7)SPC(17)"    ":PRINTSPC(17)"    ":PRINTSPC(13)"        "
  70. 780 GOTO290
  71. 790 :
  72. 800 POKE53272,21:POKE53280,6:POKE53281,7
  73. 810 PRINT"[147]"SPC(13-LEN(N$)/2)N$"'S SCOREBOARD"
  74. 820 PRINTSPC(14)"PROBLEMS:"PR-1
  75. 830 PRINTSPC(12)"RIGHT ANSWERS:"R:PRINTSPC(12)"WRONG ANSWERS:"W
  76. 840 PRINTSPC(14)"[144]GRADE:"INT(R/(PR-1)*100)"%"
  77. 850 PRINTSPC(12)"PLAY AGAIN (Y/N)?":POKE198,0
  78. 860 GETA$:IFA$<>"Y"ANDA$<>"N"THEN860
  79. 870 IFA$="Y"THENPR=0:R=0:W=0:SC=0:GOTO1100
  80. 880 END
  81. 890 :
  82. 900 FORF=55TO63:FORI=0TO7:READA:POKEF*8+I+12288,A:NEXT:NEXT
  83. 910 FORI=0TO7:POKE32*8+I+12288,0:NEXT
  84. 920 :
  85. 930 POKE53281,2:POKE53281,7
  86. 940 PRINTLEFT$(S$,10)SPC(11)"M U N C [144]H M A T H"
  87. 950 POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251:Z=13312:Y=53248
  88. 960 FORI=0TO519:POKEI+Z,PEEK(I+Y):NEXT:FORI=664TO671:POKEI+Z,PEEK(I+Y):NEXT
  89. 970 POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1
  90. 980 POKE53272,28:PRINTLEFT$(S$,10)SPC(11)"M U N C [144]H M A T H"
  91. 990 :
  92. 1000 READF,G:IFF=-1THEN1040
  93. 1010 POKESF+1,F:POKESF,G:POKEWV,33:GOSUB160:POKEWV,32:GOSUB160
  94. 1020 GOTO1000
  95. 1030 :
  96. 1040 GOSUB150:FORI=4TO24:PRINTLEFT$(S$,10)SPC(I)" [159]= <  :";:GOSUB170
  97. 1050 PRINTLEFT$(S$,10)SPC(I)" <[156]=  ;"
  98. 1060 POKESF,195:POKESF+1,17:POKEWV,17:GOSUB170:POKEWV,16:NEXT
  99. 1070 PRINTLEFT$(S$,10)SPC(24)"        "
  100. 1080 POKE53280,5:POKE53281,7:POKE53272,21
  101. 1090 PRINT"[147]"SPC(8)"WHAT IS YOUR NAME";:GOSUB260:INPUTN$
  102. 1100 PRINT"[147]"SPC(13)"WHAT WOULD YOU":GOSUB260
  103. 1110 PRINTSPC(11)"LIKE TO PRACTICE,":GOSUB260
  104. 1120 PRINTSPC(20-LEN(N$)/2)N$":":GOSUB260
  105. 1130 PRINTSPC(14)"1)ADDITION":GOSUB260
  106. 1140 PRINTSPC(14)"2)SUBTRACTION":GOSUB260
  107. 1150 PRINTSPC(14)"3)DIVISION":GOSUB260
  108. 1160 PRINTSPC(14)"4)MULTIPLICATION":GOSUB260
  109. 1170 GETA$:Q=VAL(A$):IFQ<1ORQ>4THEN1170
  110. 1180 PRINTLEFT$(S$,Q*2+10)SPC(14)""MID$(STR$(Q),2)
  111. 1190 PRINTLEFT$(S$,20)SPC(14)"LEVEL (1-9)?"
  112. 1200 GETA$:L=VAL(A$):IFL<1ORL>9THEN1200
  113. 1210 GOTO680
  114. 1220 :
  115. 1230 PRINT"? ";:AN$="":POKE198,0
  116. 1240 GETZA$:IFZA$=""THEN1240
  117. 1250 ZL=LEN(AN$):IFZA$=CHR$(20)ANDZLTHENPRINTZA$;:AN$=LEFT$(AN$,ZL-1)
  118. 1260 IFZA$=CHR$(13)THENPRINT:RETURN
  119. 1270 IFZA$<>"Q"AND(ZA$<"0"ORZA$>"9")ORZL=5THEN1240
  120. 1280 PRINTZA$;:AN$=AN$+ZA$:GOTO1240
  121. 1290 :
  122. 1300 DATA 0,0,0,0,0,0,255,255
  123. 1310 DATA 3,3,3,3,3,3,3,3
  124. 1320 DATA 0,0,255,255,255,255,0,0
  125. 1330 DATA 24,60,110,126,126,126,60,24
  126. 1340 DATA 56,124,95,248,224,248,127,56
  127. 1350 DATA 60,126,255,219,255,255,169,169
  128. 1360 DATA 60,126,255,219,255,255,90,180
  129. 1370 DATA 120,116,30,14,30,124,120,0
  130. 1380 DATA 0,0,0,14,14,14,0,0
  131. 1390 :
  132. 1400 DATA 16,195,22,96,28,49,33,125,33,125,33,125,33,125
  133. 1410 DATA 28,49,28,49,28,49,22,96,28,49,22,96,16,195,-1,0
  134. 2000 POKE53281,0:PRINT"[147]":PRINT""
  135. 2010 PRINT"                                  "
  136. 2020 PRINT"                           "
  137. 2030 PRINT"         SUBMITTED TO TPUG FROM"
  138. 2040 PRINT"          EFRAIM HALFON, # 3578"
  139. 2050 PRINT"          4081 STEPHANIE ST"
  140. 2060 PRINT"          BURLINGTON, ONTARIO"
  141. 2070 PRINT"          L7L 1W9 "
  142. 2080 FOR J=0TO70:FORK=0TO15
  143. 2090 POKE53280,K:NEXT K,J:  RETURN
  144.